﻿using System;
using MuYue.ORM.MariaDb;
using MuYue.ORM.SQLite;

namespace MuYue.ORM
{
    /// <summary>
    /// 数据库统一支持
    /// </summary>
    static class DbFactory
    {
        /// <summary>
        /// 工厂模式为你ORM提供数据驱动程序
        /// 根据配置进行加载
        /// 现在依旧是采用的强耦合的方式 可以进一步修改为弱耦合的方式
        /// 具体的创建类型采用提供程序集的名称进行反射动态创建
        /// </summary>
        /// <returns>返回ORM数据操作接口</returns>
        public static ISqlHelper GetDb()
        {
            switch (Configuration.DbProvider)
            {
                case DbType.SQLite:
                    return new SqliteHelper(Configuration.DbConnectionString);
                case DbType.MySql:
                    return new MariaDbHelper(Configuration.DbConnectionString);
            }
            throw new Exception("请提供正确的数据驱动程序");
        }
    }
}
